package com.ruicar.afs.cloud.apply.common.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @description: 订单申请表
 * @author: sijun.yu
 * @date: 2020/5/11 17:55
 */
@Data
@TableName(value = "apply_order_info", autoResultMap = true)
@Accessors(chain = true)
public class ApplyOrderInfo extends BaseEntity<ApplyOrderInfo> {

    /**
     * 申请编号
     */
    private String applyNo;
    /**
     * 客户姓名
     */
    private String custName;
    /**
     * 业务类型;新车、二手车
     */
    private String businessType;

    @TableField(exist = false)
    private String businessTypeName;
    /**
     * 主体属性
     */
    private String custType;
    /**
     * 运营方式
     */
    private String operateWay;
    /**
     * 车辆类型
     */
    private String carType;

    @TableField(exist = false)
    private String carTypeName;
    /**
     * 车辆属性
     */
    private String carNature;
    /**
     * 挂靠方式
     */
    private String affiliatedWay;
    /**
     * 购车目的
     */
    private String carPurpose;

    @TableField(exist = false)
    private String carPurposeName;
    /**
     * 产品ID
     */
    private String productId;
    /**
     * 产品名称
     */
    private String productName;
    /**
     * 申请状态
     */
    private String applyStatus;
    /**
     * 申请报单员
     */
    private String applyReporter;
    /**
     * 进件首次提交日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date intoFirstDate;
    /**
     * 核准日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date riskPassDate;
    /**
     * 案件评分
     */
    private BigDecimal caseScore;
    /**
     * 车商ID
     */
    private String dealerId;
    /**
     * 车商名称
     */
    private String dealerName;
    /**
     * 销售顾问
     */
    private String saleAdvisor;
    /**
     * 联系方式
     */
    private String salePhone;
    /**
     * 定位地址
     */
    private String locationAddress;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 纬度
     */
    private String latitude;
    /**
     * 是否置顶
     */
    private String isTopping;
    /**
     * 置顶时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date toppingDate;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 信贷专员联系方式
     */
    private String sellerPhone;
    /**
     * 信贷专员
     */
    private String sellerRealName;
    /**
     * 部门ID
     */
    private String deptId;
    /**
     * 合作商名称，不存库
     */
    @TableField(exist = false)
    private String channelName;
    /**
     * 签约标号
     */
    private String signFlag;
    /**
     * 合同重出标识
     */
    private String reappearFlag;
    /**
     * 撤销/拒绝日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cancelDate;
    /**
     * 预审批ID
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long preId;
    /**
     * 贷款总金额
     */
    @TableField(exist = false)
    private BigDecimal money;
    /**
     * /**
     * 审批备注
     */
    @TableField(exist = false)
    private String recordRemarks;
    ;
    /**
     * 贷款期限
     */
    @TableField(exist = false)
    private Integer term;
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date firstCommitTime;
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    /**
     * 合同状态
     */
    private String viewContractStatus;
}
